package chaoyue.study.safe;

/**
 * 可见性问题
 * 每个线程都有自己独立的栈，对共享内容的修改如果不刷回主存对其他系统就是不可见的
 */
public class VisibilityTest1 {
    private static boolean isOver = false;

    public static void main(String[] args) throws InterruptedException {
        Thread thread = new Thread(() -> {
            System.out.println("thread start...");
            while (!isOver) {
            }
            System.out.println("thread over...");
        });
        thread.start();
        Thread.sleep(1000);
        isOver = true; // 主线程将共享变量内容修改，但是自线程并获取不到最新的修改内容（即不可见）
    }
}
